home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / prog / re11.arj / REDEMO1.PAS < prev    next >
Pascal/Delphi Source File  |  1994-02-10  |  2KB  |  58 lines

  1. (* ************************************************************** *)
  2. (* redemo1.pas - Demonstrates how to access a resource file's     *)
  3. (*               header information.                              *)
  4. (*                                                                *)
  5. (* ************************************************************** *)
  6.  
  7. Program redemo1;
  8.    uses dos,crt;
  9.  
  10. Type
  11.   resheadrec = Record
  12.                  rfid     : array[1..3] of char;(* resource file id - RES   *)
  13.                  resitems : Word;               (* number of resource items *)
  14.                End;
  15.  
  16.   resitemrec =Record
  17.                 rt     : Word;                    (* resource type *)
  18.                 rid    : array[1..12] of char;    (* resource id   *)
  19.                 offset : longint;                 (* file offset   *)
  20.                 length : longint;                 (* file size     *)
  21.               End;
  22.  
  23.  
  24. Procedure dis_res_header(filename : String);
  25. Var
  26.  F     : FILE;
  27.  i     : integer;
  28.  res   : resitemrec;
  29.  resh  : resheadrec;
  30.  Error : Word;
  31. begin
  32. {$I-}
  33.  Assign(F,filename);
  34.  Reset(F,1);
  35.  Error:=IORESULT;
  36.  if (Error=0) then
  37.  begin
  38.    Blockread(F,resh,sizeof(resh));                (* res header       *)
  39.    Writeln(' RES ID    = ',resh.rfid);
  40.    Writeln(' RES ITEMS = ',resh.resitems);
  41.    For i:=1 to resh.resitems do
  42.    begin
  43.      Blockread(F,res,sizeof(res));                (* res item record  *)
  44.      Writeln(' ITEM# ',i,' TYPE= ',res.rt,' ID= ',res.rid:12,
  45.              ' OFFSET= ',res.offset,' LENGTH= ',res.length);
  46.    end;
  47.    close(F);
  48.  end;
  49. {$I+}
  50. end;
  51.  
  52.  
  53.  
  54. begin
  55.   dis_res_header('pics.res');
  56.   repeat until keypressed;
  57. end.
  58.